﻿using InscripcionDotNet.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace InscripcionDotNet.Controllers
{
    public class MateriaController : Controller
    {
        InscripcionDataContext dataContext = new InscripcionDataContext();

       

        public ActionResult Index()
        {
            //lamando a la lista de materias

            var materias = dataContext.materias;


            //que informacion necesita la vista para poder mostrar?
            return View(model: materias); //(le paso el modelo a la vista, solo recibe 1 parametro)


        }
        //dar de baja una materia

        //[HttpPost] //<--limito a que solo se pueda acceder por post, y no por Get
        public ActionResult Borrar(int id)
        {

            var materias = dataContext.materias.Find(id); //busca materia por id
            dataContext.materias.Remove(materias); //y la borra
            dataContext.SaveChanges(); //guarda los cambios

            return RedirectToAction("Index"); //actualiza la tabla
        }
        //DAR DE ALTA UNA MATERIA
        [HttpGet]
        public ActionResult Agregar()
        {
            var materia = new Materia();
            return View(model: materia);
        }


        [HttpGet]
        public ActionResult Editar(int id)
        {

            //buscar materia en la base de datos
            var materias = dataContext.materias.Find(id);
            return View(model: materias);
        }

        [HttpPost]
        public ActionResult Editar(int id, string nombre)
        {

            var materias = dataContext.materias.Find(id);
            materias.Nombre = nombre;
            dataContext.SaveChanges();
            return RedirectToAction("Index", "Materia");
        }

        [HttpPost]
        public ActionResult Agregar(string nombre)
        {

            //crear nuevo alumno
            var materia = new Materia();

            //asigno los valores
            materia.Nombre = nombre;

            return View("agregar", model: materia);

            }

        }
    }

